With the rapid development of information technology (IT) and the need of enterprises for increasingly complex business process management, the concept, method and technology of workflow have found increasingly wide use.
A workflow refers to different activities of different roles for completing a common task, and a workflow can also be seen as the movement of documents and/or tasks in a work process. Traditional workflow implementations focus on the convenience of workflow execution. The design of the semantic structure can change the description, design and execution of the process. In a traditional workflow implementation, a whole complex process related to a task is described as a monolithic workflow across the entire enterprise and is difficult to be decomposed. The entire business process with the activities of all participating roles and interactions among them are described in this one complex, monolithic business process. The workflow thus described must be extremely complex, and even for a simple workflow example, it is difficult to use the business process execution language (BPEL®) etc. to describe it. Alternatively, a state machine can also be used to describe a workflow. However, a state machine is not a natural semantic mapping for random sequences of activities, since many unnecessary states would need to be defined to describe state transitions based on task completions.
In addition, since a business process of an enterprise is not fixed, but varies frequently, and at the same time, a variation of most business processes is not an entirely brand-new one, but a partial one, what is needed is to be able to update parts of the business process easily without affecting the entire business process. In a traditional workflow system, any change to the business process usually means redesign and redeployment of the entire workflow system. From the perspective of enterprise operation, any update to the business process, even a minute variation, should be informed to all the participants (roles), and all the participants need to traverse all the activities so as to know the occurred variation. This consumes much time and effort.
Furthermore, since usually a plurality of participating roles may be involved in a business process, and these participating roles may be in different positions and may use different communication means, different notification mechanisms may be needed to inform related events in the workflow execution to different participating roles. It is difficult for traditional workflow systems to implement informing different participants with different notification mechanisms, or even if it is implemented, it can be implemented only in a fixed manner, and is not configurable and changeable as required.
In addition, since a traditional workflow system is centered on the business process itself, it is difficult to describe the coordinating relationships among multiple roles involved in a complex business process.
Finally, in fact, end users are only interested in the status and execution of the subset of the business process pertaining to them, instead of the whole business process. Since traditional workflow systems focus on the execution of the entire business process, they have to expose the entire business process to all the users, while it is difficult for each user to understand his/her activities in the business process, thus bringing about inconvenience for the users.
Obviously, a new workflow implementation method and system capable of overcoming the above defects of the existing workflow system is needed in the art.